Ext.define('Admin.view.transfer.TransferAddForm', {
    extend: 'Ext.form.Panel',
    alias: 'widget.transferAddForm',
    requires: [
        'Ext.button.Button',
        'Ext.form.field.Text',
        'Ext.form.field.Checkbox',
        'Ext.form.field.ComboBox',
        'Ext.form.field.Date',
		   'Ext.form.field.Time', 
        'Ext.form.field.Number',
        'Ext.form.field.Hidden',
        'Ext.form.field.Picker',
        'Ext.form.field.TextArea',
        'Ext.form.field.File',
        'Ext.form.field.HtmlEditor'
    ],

    
    controller: 'transferViewController',
   

    layout: {
        
    },

    bodyPadding: 10,
    scrollable: true,

    defaults: {
        width: 800,
        labelWidth: 400,
        labelAlign: 'right',
        labelSeparator: ''
    },
     

    items: [{
        xtype:'combobox', 
        fieldLabel:'员工',
        name:'employee.empId',
        id:'selectEmployee',
        allowBlank: false,
        store:{
          pageSize: 8,
          proxy:{
            type:'ajax',
            url:'employee/findPage',
            reader:{type:'json',rootProperty:'content'}
          },
         
          fields:['empId', 'empName']
        },
        //pageSize:10,
        forceSelection:'true',
        queryParam:'empName',
        displayField:'empName',
        valueField:'empId',
        typeAhead: true,
      //  allQuery:,
        triggerAction: 'query',
        valueNotFoundText:'无该员工',
        mode:'local',
        selectFlag:true,
        minChars: 1,
       isteners:{
                //很关键：“beforeselect”选择下拉列表数据之前触发，设置一个标记，选择下拉列表时禁用change事件（在选择下拉列表同时会触发change事件导致重复查询 2013-12-19）
                'beforeselect':function(){
                var myc = Ext.getCmp('selectEmployee');
                myc.selectFlag = false;
                },
                //很关键：“change”文本框数据改变触发
                'change': function() {
                var myc = Ext.getCmp('selectEmployee');
                var typeIdValue = myc.getValue();
                //判断不在继续输入时，不调用查询服务
                if(myc.selectFlag){
                typeIdValue = (typeIdValue!='null' && typeIdValue != null) ? typeIdValue : '%'; 
                typeIdValue = encodeURIComponent(typeIdValue+'%');
                myc.store.load({
                callback: function(records, operation, success) {
                myc = Ext.getCmp('selectEmployee');
                if(myc.store.getCount()>=1){
                //很关键，设置的matchFieldWidth=false会随着数据长度改变宽度，数据如果很短会导致列表显示不完整，很长则会超长；设置的matchFieldWidth=true则固定于文本框一样长，如果文本框不够长，则限制了下拉列表无法全部展现。
                myc.getPicker().setWidth(260);
                myc.show();//获得数据后显示列表
                }
                },
                //传入后台参数设置
                params : {
                //设置传入后台条件
                // fieldsToSelect: 'productFeatureTypeId|description',
                // whereCondition: 'description:'+typeIdValue,

               //empName:Ext.getCmp('selectEmployee').getValue(),

                //queryModel:'description:LIKE',
                page : 1,//重新设置页数，不设置会使用之前的页数进行查询，导致查询结果有误
                start: 0,//重新设置起始行
                limit: 8//重新设置每页显示行
                }
                });
                }
                //在抵御一次数据的改变后（用户选择数据时文本框数据发生改变，又会触发一次change事件进行一次查询操作），将查询标记设为可用
                myc.selectFlag = true;//标记
                }
        }
    },{
         xtype:'combobox',
          allowBlank: false,
          fieldLabel: '岗位',
           store:{
                 proxy: {
                     type: 'ajax',
                     url:'post/findAll',
                     reader: {
                     type: 'json',
                      rootProperty: 'lists'
                      }
                   },
                 fields: [ 'postId', 'postName']
           },
          displayField: 'postName',
          valueField: 'postId',
           name:'employee.post.postId',
           emptyText: '请选择...',
           blankText: '请选择岗位',
           Addable: false,
           mode: 'local' 
                      },{
        xtype: 'datefield',
        
        fieldLabel: '调动时间',
        name:'transferTime',
        format: 'Y/m/d'
    },{
        xtype: 'textareafield',
        fieldLabel: '备注',
        name:'other'
    }],

    bbar: {
        overflowHandler: 'menu',
        items: ['->',{
            xtype: 'button',
            ui: 'soft-green',
            text: '提交',
            handler : 'submitAddForm'
        },'->']
    }
});